BROADWAY_NODE_LINEAR_GRADIENT = 7,
BROADWAY_NODE_SHADOW = 8,
BROADWAY_NODE_OPACITY = 9,
+ BROADWAY_NODE_CLIP = 10,
} BroadwayNodeType;
typedef enum {
}
break;
+ case 10: // CLIP
+ {
+ var rect = this.decode_rect();
+ var div = document.createElement('div');
+ div.style["position"] = "absolute";
+ set_rect_style(div, rect, offset_x, offset_y);
+ div.style["overflow"] = "hidden";
+ parent.appendChild(div);
+ this.handle_node(div, rect.x, rect.y);
+ }
+ break;
default:
alert("Unexpected node type " + type);
pos += NODE_SIZE_RRECT;
pos = rewrite_node_textures (client, len, data, pos);
break;
+ case BROADWAY_NODE_CLIP:
+ pos += NODE_SIZE_RECT;
+ pos = rewrite_node_textures (client, len, data, pos);
+ break;
case BROADWAY_NODE_LINEAR_GRADIENT:
pos += NODE_SIZE_RECT + 2 * NODE_SIZE_POINT;
n_stops = data[pos++];
}
return;
+ case GSK_CLIP_NODE:
+ {
+ add_uint32 (nodes, BROADWAY_NODE_CLIP);
+ add_rect (nodes, gsk_clip_node_peek_clip (node));
+ gsk_broadway_renderer_add_node (self, nodes, node_textures,
+ gsk_clip_node_get_child (node));
+ }
+ return;
+
case GSK_COLOR_MATRIX_NODE:
case GSK_TEXT_NODE:
default: